Models for Contract Conformance
نویسندگان
چکیده
We have implemented a contract checker for asynchronous, message-passing applications to check that service implementations conform to behavioural contracts. Our contract checker is based on a process algebraic theory of conformance and is implemented on top of a software model checker, Zing. The purpose of this paper is to explain the model construction implemented by our contract checker and how it is related to a mathematical theory of conformance. In addition, we point out current and future research directions in model construction for conformance checking in the presence of channel-passing.
منابع مشابه
A Game-Theoretic Model for Distributed Programming by Contract
We present an extension of the programming-by-contract (PBC) paradigm to a concurrent and distributed environment. Classical PBC is characterized by absolute conformance of code to its specification, assigning blame in case of failures, and a hierarchical, cooperative decomposition model – none of which extend naturally to a distributed environment with multiple administrative peers. We therefo...
متن کاملContracts in Programming and in Enterprise Systems
In the first part of this report, we present an extension of the programmingby-contract (PBC) paradigm to a concurrent and distributed environment. Classical PBC is characterized by absolute conformance of code to its specification, assigning blame in case of failures, and a hierarchical, cooperative decomposition model – none of which extend naturally to a distributed environment with multiple...
متن کاملContract Compliance and Choreography Conformance in the Presence of Message Queues
Choreography conformance and contract compliance have been widely studied in the context of synchronous communication. In this paper we approach a more realistic scenario in which the messages containing the invocations are queued in the called service. More precisely, we study the foundational aspects of contract compliance in a language independent way by just taking contracts to be finite la...
متن کاملSpecifying Reusable Components Using Contracts
Contracts were introduced by Helm et al. as a high level construct for explicitly specifying interactions among groups of objects. This paper describes further developments and application of the Contract construct. We show how Contracts can be used to represent classic algorithms as large grained reusable object oriented abstractions, how these algorithms can be customized through Contract ree...
متن کاملSimplifying Contract-Violating Traces
Contract conformance is hard to determine statically, prior to the deployment of large pieces of software. A scalable alternative is to monitor for contract violations post-deployment: once a violation is detected, the trace characterising the offending execution is analysed to pinpoint the source of the offence. A major drawback with this technique is that, often, contract violations take time...
متن کامل